
#if !defined (_MLVEC2_H)
#define _MLVEC2_H

#include "mlMath.h"

namespace ml
{

	class Vec2
	{
	public:
		float X, Y;

		Vec2(void);
		Vec2(const Vec2 &);
		Vec2(float, float);
		~Vec2(void);

		Vec2 &operator =(const Vec2 &);
		bool operator ==(const Vec2 &) const;
		bool operator !=(const Vec2 &) const;
		Vec2 operator -(void) const;
		Vec2 operator +(const Vec2 &) const;
		Vec2 operator -(const Vec2 &) const;
		Vec2 operator *(float) const;
		Vec2 operator /(float) const;
		Vec2 &operator +=(const Vec2 &);
		Vec2 &operator -=(const Vec2 &);
		Vec2 &operator *=(float);
		Vec2 &operator /=(float);
		float operator [](int) const;
		float &operator [](int);
		float operator *(const Vec2 &) const;

		float * toFloatPtr(void);

		void normalize(void);
		void zero(void);
	};

}

#endif